Skip to content

ci: use hash-pinned actions - #43

Merged
cesarcoatl merged 1 commit into
mainfrom
ci/pin-actions
Sep 1, 2026
Merged

ci: use hash-pinned actions#43
cesarcoatl merged 1 commit into
mainfrom
ci/pin-actions

Conversation

@cesarcoatl

@cesarcoatl cesarcoatl commented Sep 1, 2026

Copy link
Copy Markdown
Member

dependabot: consolidate updated using groups

Summary by Sourcery

Harden GitHub Actions dependency management by adopting hash-pinned workflow references and consolidated Dependabot updates.

Enhancements:

  • Pin GitHub Actions and reusable workflows to immutable commit hashes with version annotations.
  • Group Dependabot updates for Coatl Dev actions and workflows.

CI:

  • Update CI and publishing workflows to use current hash-pinned action and workflow versions.

dependabot: consolidate updated using groups
@sourcery-ai

sourcery-ai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

The PR consolidates Dependabot updates for shared GitHub dependencies and replaces mutable action/workflow tags with hash-pinned revisions annotated with their release versions. It also changes local reusable-workflow references in CI and publishing workflows to use $/-prefixed paths.

Flow diagram for grouped Dependabot updates

flowchart LR
    Dependabot[Dependabot GitHub Actions updates]
    ActionsGroup[coatl-dev/actions group]
    WorkflowsGroup[coatl-dev/workflows group]
    ActionDeps[Shared action dependencies]
    WorkflowDeps[Shared reusable workflow dependencies]

    Dependabot --> ActionsGroup
    Dependabot --> WorkflowsGroup
    ActionsGroup --> ActionDeps
    WorkflowsGroup --> WorkflowDeps
Loading

File-Level Changes

Change Details Files
Group Dependabot updates for shared Coatl Dev Actions and Workflows dependencies.
  • Add quarterly update groups for matching action and reusable-workflow dependencies.
  • Retain dependency labels and CI-prefixed commit messages.
.github/dependabot.yml
Pin external GitHub Actions and reusable workflows to immutable commit hashes while documenting release versions.
  • Pin lint, tox, checkout, and PyPI upload references to specific commits.
  • Update referenced Coatl Dev dependencies from v6/v5 to v7 releases.
  • Add version comments to preserve human-readable dependency versions.
.github/workflows/ci.yml
.github/workflows/publish.yml
.github/workflows/tox.yml
Change local reusable-workflow references to repository-root expressions.
  • Replace relative local workflow paths with $/... references in CI and publish jobs.
.github/workflows/ci.yml
.github/workflows/publish.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path=".github/workflows/ci.yml" line_range="17" />
<code_context>

   tox:
     if: ${{ github.event_name == 'pull_request' }}
-    uses: ./.github/workflows/tox.yml
+    uses: $/.github/workflows/tox.yml
</code_context>
<issue_to_address>
**issue (bug_risk):** The reusable-workflow references use `$/...` instead of the required repository-relative `./.github/...` path, so GitHub rejects both workflows and the local `tox.yml` workflow is never called.

**Suggested fix:** Change both references to `./.github/workflows/tox.yml`.
</issue_to_address>

Sourcery assessment

Needs a human reviewer. 1 finding to address first, and the change replaces valid local reusable-workflow references with $/..., likely breaking CI and release workflows, and it upgrades pinned actions that run with PyPI credentials. A bad or malicious pin could expose the token or publish incorrect artifacts, and reverting would not undo those external effects.

Blocking findings: .github/workflows/ci.yml:17


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/ci.yml

tox:
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/tox.yml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue (bug_risk): The reusable-workflow references use $/... instead of the required repository-relative ./.github/... path, so GitHub rejects both workflows and the local tox.yml workflow is never called.

Suggested fix: Change both references to ./.github/workflows/tox.yml.

@cesarcoatl
cesarcoatl merged commit 67cc8aa into main Sep 1, 2026
6 checks passed
@cesarcoatl
cesarcoatl deleted the ci/pin-actions branch September 1, 2026 04:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant